import java.util.*;

public class HJ70 {
    public static void main(String[] args) {
        /**
         * 首先是判断有多少个矩阵
         * 1.先看看怎么计算乘法的数量 比如 10 20 和 20 5的矩阵要乘多少次
         *  10 20 和 20 5 会组成一个 10 5 的矩阵 也就是有50个位置 也就是判断一个位置要乘法的次数
         *  第一个矩阵的第一行有20个数据 第二个矩阵的第一列有20个数据 也就是会发生20次乘法
         *  20 * 50 = 1000次
         *
         *  然后还有一个矩阵是50 10 会和这个 10 5 生成 50 5的矩阵 也就是250个位置
         *  一个位置是10次乘法
         *  250 * 10 = 2500次
         *
         *  规律：
         *  怎么判断位置？ 看生成矩阵的xy  位置数 = x * y   x是第一个矩阵的x  y是第二个矩阵的y
         *  怎么判断一个位置的乘法次数？ 可以直接看第一个矩阵的y 或者 第二个矩阵的x
         *  然后相乘即可
         *
         *  2.找出对应的关联 怎么把字符串和数据做出关联
         *  通过list集合 和 字符串相减得出来的数字可以相关联!
         */
        Scanner scanner = new Scanner(System.in);
        int count = scanner.nextInt();
        List<duixiang> list = new ArrayList<>();
        for (int i = 0; i < count; i++) {
            duixiang duixiang = new duixiang();
            duixiang.setX(scanner.nextInt());
            duixiang.setY(scanner.nextInt());
            list.add(duixiang);
        }
        String celue = scanner.next();

        Stack<Character> stack = new Stack<>();
        int shuchu = 0;
        for (int i = 0; i < celue.length(); i++) {
            if (celue.charAt(i) == '(') {
            }else if (celue.charAt(i) == ')'){
                Character p1 = stack.pop();
                Character p2 = stack.pop();
                int i1 = p1 - 'A';
                int i2 = p2 - 'A';
                duixiang dx1 = list.get(i1);
                duixiang dx2 = list.get(i2);
                int position = dx1.getY() * dx2.getX();
                int number = position * dx1.getX();
                shuchu += number;
                stack.push(p2);
                duixiang duixiang = new duixiang();
                duixiang.setX(dx2.x);
                duixiang.setY(dx1.y);
                list.set(i2,duixiang);
            }else {
                stack.push(celue.charAt(i));
            }
        }
        System.out.println(shuchu);
    }

    public static class duixiang{
        int x;
        int y;

        public int getX() {
            return x;
        }

        public void setX(int x) {
            this.x = x;
        }

        public int getY() {
            return y;
        }

        public void setY(int y) {
            this.y = y;
        }
    }
}
